home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / math / graphs / graphed-.1 / graphed- / usr / local / graphed / include / sgraph / algorithms.h next >
Encoding:
C/C++ Source or Header  |  1995-07-10  |  1.5 KB  |  48 lines

  1. /* (C) Universitaet Passau 1986-1994 */
  2. /* Hopcroft/Tarjan Planarity test */
  3.  
  4. #ifndef RESULT_TYPE_ALREADY_DEFINED   /* Verhindert Doppeldefinition */
  5.                                       /* des Rueckgabetyps           */
  6. #define RESULT_TYPE_ALREADY_DEFINED
  7.  
  8. /* Rueckgabewert der Funktion 'planarity' */
  9.  
  10. typedef
  11.   enum Result {
  12.                SUCCESS,        /* Prozedur erfolgreich - Graph planar */
  13.                NONPLANAR,      /* Nichtplanaritaet entdeckt */
  14.                SELF_LOOP,      /* Schleifen entdeckt */
  15.                MULTIPLE_EDGE,  /* Mehrfachkante entdeckt */
  16.                NO_MEM          /* Nicht genuegend Speicherplatz */
  17.               } 
  18.        HT_PLANARITY_RESULT;
  19.  
  20. #define RESULT HT_PLANARITY_RESULT
  21.  
  22. #endif
  23.  
  24. /* Fuehrt Planaritaetstest fuer 'Sgraph' durch;
  25.    Rueckgebewert ist eine Meldung vom Typ 'RESULT'. */
  26.  
  27. extern RESULT planarity(/* Sgraph */);
  28.  
  29. /* Nach Aufruf von 'embed(sgraph)' wird im 'attrs'-Feld der 
  30.    'Snode'-Struktur eine Liste vom Typ 'Slist' abgelegt, in
  31.    der die Kanten um den jeweiligen Knoten - unabhaengig von
  32.    einer eventuellen Orientierung bei gerichteten Graphen -
  33.    als Zeiger vom Typ 'Sedge' im Uhrzeigersinn eingetragen 
  34.    sind.
  35.    Rueckgebewert ist eine Meldung vom Typ 'RESULT'.          */
  36.    
  37. /* ACHTUNG: Fuer das Loeschen der 'Slist' ist der Benutzer 
  38.             selbst verantwortlich !                          */
  39.  
  40. extern RESULT embed(/* Sgraph */);
  41.  
  42.  
  43. extern    bool test_sgraph_connected();
  44. extern    bool test_sgraph_biconnected();
  45. extern    bool test_sgraph_strongly_connected();
  46.  
  47.  
  48.